import { apiData, param2Obj } from '@/utils'
import LocalStorage from 'localStorage'

const listKey = 'role_getRoleList'
var listData = JSON.parse(LocalStorage.getItem(listKey))

if (listData === null || !listData) {
  listData = [
    { 'id': 26, 'delFlag': 0, 'parentId': null, 'sort': 0, 'name': '超级管理员', 'enName': 'super_manager', 'usable': '1', 'remarks': '', 'children': [] },
    { 'id': 27, 'delFlag': 0, 'parentId': null, 'sort': 1, 'name': '客服主管', 'enName': 'server_manager', 'usable': '1', 'remarks': '', 'children': [
      { 'id': 28, 'delFlag': 0, 'parentId': 27, 'sort': 0, 'name': '售后客服', 'enName': 'server1', 'usable': '1', 'remarks': '', 'children': [] },
      { 'id': 29, 'delFlag': 0, 'parentId': 27, 'sort': 1, 'name': '售前客服', 'enName': 'server2', 'usable': '1', 'remarks': '', 'children': [] }
    ] },
    { 'id': 30, 'delFlag': 0, 'parentId': null, 'sort': 1, 'name': '编辑主管', 'enName': 'edit_manager', 'usable': '1', 'remarks': '', 'children': [
      { 'id': 31, 'delFlag': 0, 'parentId': 30, 'sort': 0, 'name': '文章编辑', 'enName': 'edit1', 'usable': '1', 'remarks': '', 'children': [] },
      { 'id': 32, 'delFlag': 0, 'parentId': 30, 'sort': 1, 'name': '新闻编辑', 'enName': 'edit2', 'usable': '1', 'remarks': '', 'children': [] }
    ] },
    { 'id': 33, 'delFlag': 0, 'parentId': null, 'sort': 1, 'name': '评论主管', 'enName': 'message_manager', 'usable': '1', 'remarks': '', 'children': [
      { 'id': 34, 'delFlag': 0, 'parentId': 33, 'sort': 0, 'name': '评论管理', 'enName': 'message1', 'usable': '1', 'remarks': '', 'children': [] },
      { 'id': 35, 'delFlag': 0, 'parentId': 33, 'sort': 1, 'name': '评论回复', 'enName': 'message2', 'usable': '1', 'remarks': '', 'children': [] }
    ] },
    { 'id': 36, 'delFlag': 0, 'parentId': null, 'sort': 1, 'name': '编辑主管', 'enName': 'edit_manager', 'usable': '1', 'remarks': '', 'children': [
      { 'id': 37, 'delFlag': 0, 'parentId': 36, 'sort': 0, 'name': '文章编辑', 'enName': 'edit1', 'usable': '1', 'remarks': '', 'children': [] },
      { 'id': 38, 'delFlag': 0, 'parentId': 36, 'sort': 1, 'name': '新闻编辑', 'enName': 'edit2', 'usable': '1', 'remarks': '', 'children': [] }
    ] },
    { 'id': 39, 'delFlag': 0, 'parentId': null, 'sort': 1, 'name': '评论主管', 'enName': 'message_manager', 'usable': '1', 'remarks': '', 'children': [
      { 'id': 40, 'delFlag': 0, 'parentId': 39, 'sort': 0, 'name': '评论管理', 'enName': 'message1', 'usable': '1', 'remarks': '', 'children': [] },
      { 'id': 41, 'delFlag': 0, 'parentId': 39, 'sort': 1, 'name': '评论回复', 'enName': 'message2', 'usable': '1', 'remarks': '', 'children': [] },
      { 'id': 42, 'delFlag': 0, 'parentId': 39, 'sort': 1, 'name': '评论回复', 'enName': 'message2', 'usable': '1', 'remarks': '', 'children': [] },
      { 'id': 44, 'delFlag': 0, 'parentId': 39, 'sort': 1, 'name': '评论回复', 'enName': 'message2', 'usable': '1', 'remarks': '', 'children': [] }
    ] }
  ]

  // 保存数据
  LocalStorage.setItem(listKey, JSON.stringify(listData))
}

export default {
  getRoleList: config => {
    const mockDatas = JSON.parse(LocalStorage.getItem(listKey)) || []

    return apiData('', '获取角色列表', mockDatas)
  },
  roleDel: config => {
    const { id } = param2Obj(config.url)
    if (id <= 0) {
      return apiData(3001, '数据ID不能为空')
    }

    // 获取数据
    const allData = JSON.parse(LocalStorage.getItem(listKey))
    const dVal = []
    for (var i = allData.length - 1; i >= 0; i--) {
      if (!(allData[i] !== null && allData[i]['id'] === id)) {
        dVal.push(allData[i])
      }
    }
    // 保存数据
    LocalStorage.setItem(listKey, JSON.stringify(dVal))

    return apiData('', '删除成功！')
  },
  roleAdd: config => {
    return apiData('', '成功', config)
  }
}
